<?php

session_start();

function xlsBOF() {
   echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
   return;
}



function xlsEOF() {
    echo pack("ss", 0x0A, 0x00);
    return;
}

function xlsWriteLabel($Row, $Col, $Value ) {
    $L = strlen($Value);
    echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
    echo $Value;
    return;
}


include_once('libs/db.php');

//$dbtable="libro";
$q="SELECT id_tipos_libro_responsable , nombre_puesto  FROM  tipos_libro_responsables 
     WHERE 
           id_tipos_libro = ".$_SESSION['id_tipos_libro']." AND  
           update_st = 0 
           ORDER BY orden ";
$qr=mysql_query( $q ) or die( mysql_error() );


$xfrom="";
$select="";
while( $qrow = mysql_fetch_assoc( $qr ) )
{
	$id=$qrow["id_tipos_libro_responsable"];
    $nombrePuesto=str_replace(" ","_",$qrow["nombre_puesto"]); 
    $nombrePuesto=str_replace("/","_",$nombrePuesto); 
    $nombrePuesto=str_replace(".","_",$nombrePuesto); 
    //remplazar los espacios por_
    
 	$select=$select." ,  CONCAT(em".$id.".apellido, ', ', em".$id.".nombre)  ".$nombrePuesto."  ";

    $xfrom=$xfrom." LEFT JOIN libro_responsables lr".$id." ";
	$xfrom=$xfrom."      ON (libro.id_libro = lr".$id.".id_libro"; 
	$xfrom=$xfrom."   AND lr".$id.".id_tipos_libro_responsable = ".$id." )  ";
	$xfrom=$xfrom." LEFT JOIN empleados em".$id." ON (lr".$id.".id_empleado = em".$id.".id) ";
}

$q="SELECT id_tipos_libro_valor , concat(nombre_valor,'_' , nombre)  nombre_valor  
     FROM  tipos_libro_valores t , unidad_de_medida u
     WHERE 
           t.id_tipos_libro = ".$_SESSION['id_tipos_libro']." AND  
           t.update_st = 0 AND 
     	   u.id_unidad_de_medida =t.id_unidad_de_medida 
     ORDER BY orden ";
$qr=mysql_query( $q ) or die( mysql_error() );

$vxfrom="";
$vselect="";
while( $qrow = mysql_fetch_assoc( $qr ) )
{
	$id=$qrow["id_tipos_libro_valor"];
    $nombreValor=str_replace(" ","_",$qrow["nombre_valor"]); 
    $nombreValor=str_replace("/","_",$nombreValor); 
    $nombreValor=str_replace(".","_",$nombreValor); 
    $nombreValor=str_replace("-","_",$nombreValor); 
    //remplazar los espacios por_
    
 	$vselect=$vselect." ,  lv".$id.".valor_num  ".$nombreValor."  ";

    $vxfrom=$vxfrom." LEFT JOIN libro_valores lv".$id." ";
	$vxfrom=$vxfrom."      ON (libro.id_libro = lv".$id.".id_libro"; 
	$vxfrom=$vxfrom."   AND lv".$id.".id_tipos_libro_valor = ".$id." )  ";
}




$q="SELECT 
           tipos_libro.nombre libro, 
           DATE_FORMAT(fecha_hora_evento, '%d-%m-%Y %H:%i') fecha_hora_evento,
		   libro.login ,
           DATE_FORMAT(libro.update_ts, '%d-%m-%Y %H:%i') fecha_hora_modificacion 
           ".$select."
           ".$vselect."
           FROM libro 
		  JOIN tipos_libro USING (id_tipos_libro)
		  ".$xfrom." 
		  ".$vxfrom." 
		  WHERE libro.id_tipo_info = 1  AND 
		       libro.id_tipos_libro = ".$_SESSION['id_tipos_libro']."   ";
		  //"AND libro.update_st = 0 ";

if (isset($_SESSION[ 'fechad' ])) {
   		$fechad=$_SESSION[ 'fechad' ];	
   		$fechah=$_SESSION[ 'fechah' ];	
    	$q .=" AND DATE(fecha_hora_evento) BETWEEN '{$fechad}' AND '{$fechah}' " ;	
}

//echo $q;


$qr=mysql_query( $q ) or die( mysql_error() );

header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

//this line is important its makes the file name
header("Content-Disposition: attachment;filename=export_libro.xls ");

header("Content-Transfer-Encoding: binary ");

// start the file
xlsBOF();

// these will be used for keeping things in order.
$col = 0;
$row = 0;

// This tells us that we are on the first row
$first = true;

while( $qrow = mysql_fetch_assoc( $qr ) )
{
// Ok we are on the first row
// lets make some headers of sorts
if( $first )
{
foreach( $qrow as $k => $v )
{
// take the key and make label
// make it uppper case and replace _ with ' '
xlsWriteLabel( $row, $col, strtoupper( ereg_replace( "_" , " " , $k ) ) );
$col++;
}

// prepare for the first real data row
$col = 0;
$row++;
$first = false;
}

// go through the data
foreach( $qrow as $k => $v )
{
// write it out
xlsWriteLabel( $row, $col, $v );
$col++;
}
// reset col and goto next row
$col = 0;
$row++;
}

xlsEOF();
exit();
?>
